#ifndef _TASK_MANAGER_H_
#define _TASK_MANAGER_H_

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "task_define.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
    TaskFunction_t task_func;
    const char* task_name;
    const uint32_t stack_size;
    UBaseType_t priority;
    TaskHandle_t* task_handle;
    const BaseType_t core_id;
} task_info_t;

TaskHandle_t* task_manager_get_handle(const char *name);
void task_manager_init(void);

#ifdef __cplusplus
}
#endif

#endif // _TASK_MANAGER_H_
